/*
读写文件组合作业1:
描述： 1.请使用fs模块将{ name: '后裔', skinname: '精灵王' }对象写入到data1.json文件中
       （要求data1.json 中以数组形式保存数据）

       2.再将{ name: '程咬金', skinname: '功夫厨神' } 对象追加到data1.json文件中，
       此时data1.json文件的保存形式为:
        [
            { name: '后裔', skinname: '精灵王' },
            { name: '程咬金', skinname: '功夫厨神'}
        ]

      3.最终利用fs模块读出data.json文件中的内容打印到小黑窗上

提示：可以先用同步方法完成，再用异步方法完成
*/

const fs = require('fs');

try {
  // 1.请使用fs模块将{ name: '后裔', skinname: '精灵王' }对象写入到data1.json文件中
  //  （要求data1.json 中以数组形式保存数据）
  // 技术实现：1.将对象写入到文件，必须使用JSON.stringify()将其转换成json字符串
  // 2.使用fs.writeFileSync()将数据写入到data1.json中即可
  let obj1 = { name: '后裔', skinname: '精灵王' };
  let obj1String = JSON.stringify(obj1);
  fs.writeFileSync('./data1.json', `[${obj1String}`);

  // 再将{ name: '程咬金', skinname: '功夫厨神' } 对象追加到data1.json文件中，
  let obj2 = { name: '程咬金', skinname: '功夫厨神' };
  let obj2String = JSON.stringify(obj2);
  fs.appendFileSync('./data1.json', `,${obj2String}]`);

  // 打印查看
  let res = fs.readFileSync('./data1.json', 'utf-8');
  console.log(res);
} catch (err) {
  console.log('出错啦:' + err.message);
}